GRE-туннель
В данной инструкции для инженера-разработчика описан вариант настройки GRE-туннеля между роутером Bitcord RTR-2 и удалённым VPS-сервером
Cхема сети ( Источник изображения )
Особенности настройки VPS-сервера
- На VPS сервере должны быть установлены и активированы модули ядра, отвечающие за работу GR
root@maxgszypym:~# lsmod | grep gre
ip_gre 28672 0
ip_tunnel 32768 1 ip_gre
gre 16384 1 ip_gre
root@maxgszypym:~#
- Настройку туннеля на стороне VPS быстрее всего сделать, добавив соответствующие записи в файл /etc/network/interfaces
root@maxgszypym:~# cat /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
auto gretsm
iface gretsm inet static
address 192.168.10.1
netmask 255.255.255.0
pre-up ip tunnel add gretsm mode gre local 45.12.73.59 remote 89.113.0.29 ttl 255
up ifconfig gretsm multicast
up ip addr add 192.168.10.2/32 peer 192.168.10.2 dev gretsm
post-down ip tunnel del gretsm
# Source interfaces
source /etc/network/interfaces.d/*
- Не забывайте перезапустить сетевую службу: service networking restart. А также убедиться, что получившиеся требуемый сетевой интерфейс появился
root@maxgszypym:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 45.12.73.59 netmask 255.255.255.255 broadcast 45.12.73.59
inet6 fe80::70:ba8c:ff:feba:5c1 prefixlen 64 scopeid 0x20<link>
ether 00:70:ba:8c:ff:ba txqueuelen 1000 (Ethernet)
RX packets 50323796 bytes 4151851878 (4.1 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 18783631 bytes 2833390328 (2.8 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
gretsm: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1476
inet 192.168.10.1 netmask 255.255.255.255 destination 192.168.10.2
inet6 fe80::2dc:493b prefixlen 64 scopeid 0x20<link>
unspec 20-0c-49-3b-80-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
RX packets 8175 bytes 7241065 (7.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8248 bytes 698418 (698.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 42 bytes 6368 (6.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 42 bytes 6368 (6.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Особенности настройки Роутера Bitcord RTR-2
- Перед тем, как создавать GRE-туннель, на роутере RTR-2 должен иметься белый статический IP. Если в роутер вставлена Сим-карта с белым IP, то на странице "Настройка Сим-карт" должно отображаться стабильное подключение
- Убедитесь, что соответствующий сетевой интерфейс присутствует
root@BITCORD-RTR-2:~#
root@BITCORD-RTR-2:~# ifconfig
3g-modem Link encap:Point-to-Point Protocol
inet addr:89.113.0.29 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:86460 errors:128 dropped:0 overruns:0 frame:0
TX packets:84816 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:18542335 (17.6 MiB) TX bytes:20074120 (19.1 MiB)
br-lan Link encap:Ethernet HWaddr 30:EB:1F:3D:E9:30
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::32eb:1fff:fe3d:e930/64 Scope:Link
inet6 addr: fd57:1bcb:c5a4::1/60 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:252205 errors:0 dropped:0 overruns:0 frame:0
TX packets:196969 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:20384556 (19.4 MiB) TX bytes:94479016 (90.1 MiB)
- Убедитесь, что данный белый IP пингутется со стороны VPS-сервера
root@maxgszypym:~#
root@maxgszypym:~# ping 89.113.0.29
PING 89.113.0.29 (89.113.0.29) 56(84) bytes of data.
64 bytes from 89.113.0.29: icmp_seq=1 ttl=53 time=59.1 ms
64 bytes from 89.113.0.29: icmp_seq=2 ttl=53 time=136 ms
64 bytes from 89.113.0.29: icmp_seq=3 ttl=53 time=58.6 ms
--- 89.113.0.29 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 58.553/84.586/136.133/36.449 ms
root@maxgszypym:~#
- Добавление GRE-туннеля быстрее всего сделать через отдельную страницу в веб-интерфейсе
- Заполняя форму настроек GRE-туннеля, не забывайте указать внешний белый IP устройства RTR-2 (Remote address), а также задавать локальный IP-туннеля на роутере RTR-2, который должен относится к той же подсети, что и локальный IP-туннеля на VPS-сервере
- Убедитесь, что GRE-туннель пингуется